@charset "utf-8";
$searchStrHeight:36px;
@mixin disable-user-select {
    -o-user-select: none;
    -ms-user-select: none;
    user-select: none;
    unselectable: on;
    -webkit-user-select: none;
    -moz-user-select: none;
}

@mixin blur-bg($blur:20px, $saturate:0) {
    backdrop-filter: blur($blur) saturate($saturate);
    -webkit-backdrop-filter: blur($blur) saturate($saturate);
}

@mixin shadowed-text {
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.75);
}

@mixin lightbg {
    background: rgb(196, 202, 207);
}

@mixin darkbg {
    background: rgb(51, 51, 51);
}


/*===========*/

* {
    margin: 0;
    padding: 0;
}

html {
    @include lightbg();
    height: 100%;
    min-width: 300px;
}

:root {
    @include lightbg();
}

a {
    color: inherit;
    text-decoration: none;
}

body {
    height: 100%;
    font-family: sans-serif;
    background: url('../img/assets/bg.jpeg') no-repeat fixed center;
    background-size: 100% 100%;
}

.btn {
    cursor: pointer;
    @include disable-user-select()
}

.orange {
    color: #E9A844;
}

.desc-color {
    color: #b3b9be;
}

#head {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100;
    #searchbar {
        text-align: center;
        background: rgba(255, 255, 255, 0.878);
        padding: 10px 20px;
        @include blur-bg(20px,
        180%);
        #inner_s_bar {
            display: flex;
            position: relative;
            border-radius: 6px;
            overflow: hidden;
            input#searchstr {
                height: $searchStrHeight;
                line-height: $searchStrHeight;
                width: 100%;
                margin: 0 auto;
                font-size: 16px;
                color: #000;
                display: inline-block;
                border: none;
                outline: none;
                box-sizing: border-box;
                vertical-align: middle;
                padding: 5px 2.5em;
                background-color: rgba(0, 0, 0, 0.094);
                transition: 0.2s ease-in;
                &:hover {
                    background-color: rgba(0, 0, 0, 0.157);
                }
                &:focus {
                    background-color: rgba(0, 0, 0, 0.125);
                }
            }
            .searchIcon {
                position: absolute;
                left: 0;
                margin: auto 10px;
                line-height: $searchStrHeight;
                font-size: 1.25em;
                color: hsl(0, 0%, 53%);
                transition: 0.15s ease-in-out;
                &:hover {
                    color: rgb(51, 51, 51);
                }
                svg {
                    vertical-align: middle;
                }
            }
            .resetBtn {
                position: absolute;
                right: 0;
                margin: auto 10px;
                line-height: $searchStrHeight;
                font-size: 1.25em;
                color: rgb(136, 136, 136);
                transition: 0.125s ease-in-out;
                &:hover {
                    color: rgb(51, 51, 51);
                    -webkit-transform: scale(1.1);
                    transform: scale(1.2);
                    cursor: none;
                }
                svg {
                    vertical-align: middle;
                }
            }
        }
    }
    hr {
        margin: 10px auto;
    }
    #announcement_zone {
        display: none;
        height: 300px;
        background: rgba(255, 255, 255, 0.875);
        color: #000;
        box-sizing: border-box;
        line-height: 1.5em;
        box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.376);
        position: relative;
        overflow: hidden;
        @include blur-bg(20px,
        180%);
        padding-bottom: 40px;
        // @include shadowed-text();
        .wrap {
            padding: 15px 25px;
            height: calc(100% - 20px);
            overflow-y: scroll;
            section {
                margin-bottom: 10px;
                &:last-child {
                    margin-bottom: 0;
                }
            }
            #part1 {
                p {
                    margin-bottom: 5px;
                    &:last-child {
                        margin-bottom: 0;
                    }
                }
            }
            #part2 {
                text-align: center;
                justify-content: space-evenly;
                &>section {
                    vertical-align: top;
                }
                #acknowledgement {
                    padding: 0 10px;
                    display: inline-block;
                    text-align: center;
                }
                #links {
                    padding: 0 10px;
                    text-align: center;
                    display: inline-block;
                    a {
                        color: darkviolet;
                    }
                }
            }
        }
        .toCollapse {
            text-align: center;
            width: 100%;
            position: absolute;
            bottom: 0;
        }
        svg {
            display: block;
            margin: 0 auto;
        }
    }
}

#content {
    padding-top: 56px;
    color: #fff;
    // background: #333333;
    @include shadowed-text();
    -webkit-overflow-scrolling: touch;
    overflow-x: scroll;
    height: 100%;
    z-index: 50;
    position: relative;
    box-sizing: border-box;
    background: rgba(25, 25, 25, 0.8);
    @include blur-bg();
    #title-banner {
        &>* {
            vertical-align: middle;
        }
        position: relative;
        height: 42px;
        width: 100%;
        line-height: 42px;
        text-align: center;
        background: linear-gradient(to right,
        transparent 3%,
        #465F6E 35%,
        #465F6E 65%,
        transparent 97%);
        // position: fixed;
        @include disable-user-select();
        .flipBtn {
            * {
                vertical-align: middle;
            }
            position: absolute;
            display: none;
            &.prev,
            &.back {
                left: 35px;
            }
            &.next {
                right: 35px;
            }
        }
    }
    table.clan_lib {
        display: none;
        @include disable-user-select();
        margin: 0 auto;
        border-collapse: collapse;
        // width: 720px;
        thead {
            background-color: #465F6E;
            width: 100%;
            display: block;
            th {
                border-right: 1px solid #34424C;
                &:last-child {
                    border-right: none
                }
            }
        }
        tbody {
            display: block;
            overflow: scroll;
            tr {
                background-color: rgba(70, 94, 109, 0.8);
                border-bottom: 1px solid rgba(255, 255, 255, 0.094);
                &:last-child {
                    border-bottom: 0;
                }
            }
        }
        thead,
        tbody {
            tr {
                display: table;
                width: 100%;
                table-layout: fixed;
                text-align: left;
                height: 48px;
                th,
                td {
                    padding: 0 0.75em;
                    &:first-child {
                        width: 2em;
                        text-align: center;
                    }
                    &:nth-child(2) {
                        width: 25em;
                    }
                    &:nth-child(3) {
                        width: 20em;
                    }
                    &:first-child,
                    &:last-child {
                        color: #fff;
                    }
                }
            }
        }
    }
    #recommend {
        text-align: center;
        .clan-card {
            height: 15rem;
            width: 20rem;
            vertical-align: top;
            margin: 1rem;
            text-align: left;
            display: inline-block;
            transition: cubic-bezier(0.075, 0.82, 0.165, 1) 0.5s;
            position: relative;
            &:hover {
                scale: (1.1);
            }
            .logo {
                position: relative;
                top: 2rem;
                width: 4rem;
                height: 4rem;
                margin: 0 auto;
                overflow: hidden;
                border-radius: 2rem;
                background-color: rgba(255, 255, 255, 0.1);
                img {
                    height: 100%;
                    transform: translate(calc(-1 *(100% - 4rem) / 2), 0px);
                }
            }
            .card-content {
                width: 100%;
                height: calc(100% - 1rem);
                border-top: 1px solid rgba(192, 192, 192, 0.5);
                box-sizing: border-box;
                padding: 2.625rem 0.625rem 0.625rem;
                overflow: hidden;
                border-radius: 12px;
                background: linear-gradient(to bottom, rgba(128, 128, 128, 0.25), rgba(0, 0, 0, 0.15) 90%);
                span.date {
                    margin-left: 1rem;
                }
            }
        }
    }
}

#detail {
    display: none;
    background-color: rgba(0, 0, 0, 0.3);
    @include blur-bg(12px,
    200%);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    z-index: 500;
    overflow: hidden;
    .wrap {
        position: absolute;
        bottom: 0;
        width: 100%;
        height: calc(100% - 45px);
        .inner {
            height: 0;
            width: 100%;
            position: absolute;
            bottom: 0;
            .window {
                position: relative;
                margin: 0 auto;
                width: calc(100% - 2 * 128px);
                min-width: 300px;
                height: 100%;
                background-color: rgba(27, 31, 33, 0.9);
                border-radius: 15px 15px 0 0;
                overflow-y: scroll;
                color: #fff;
                font-size: 20px;
                box-sizing: border-box;
                transition: 0.25s cubic-bezier(0, 1.3, .64, 1.04);
                .dismissBtn {
                    font-size: 1.25em;
                    float: right;
                    padding: 0.5rem 0 0 0.5rem;
                    margin: 0 0.75rem 0.75rem 0;
                }
                .content {
                    box-sizing: border-box;
                    h3 {
                        display: inline-block;
                        text-align: center;
                        margin: 1.125em auto 0.5em;
                        width: 100%;
                        &::before,
                        &::after {
                            content: '';
                            display: inline-block;
                            border-bottom: #ffffff solid 1px;
                            width: 25%;
                            vertical-align: middle;
                            margin: 0 0.375em;
                        }
                    }
                    .clanInfo {
                        margin: 2rem 0.5rem 1rem 2rem;
                        .logo {
                            height: 4.5rem;
                            width: 4.5rem;
                            border-radius: 0.5rem;
                            box-shadow: 0 0 7.5px 0 #111111;
                            display: inline-block;
                            overflow: hidden;
                            margin-right: 0.5rem;
                            transform-style: preserve-3d; //transform 圆角矩形遮罩修复
                            img {
                                transform: translate(calc( -1 * (100% - 72px) / 2), 0px);
                                height: 100%;
                                background: rgba(255, 255, 255, 0.1);
                            }
                        }
                        .info {
                            display: inline-block;
                        }
                    }
                    .introduction {
                        padding: 0.5em 2em;
                        p {
                            margin: 0.5em 0;
                            font-size: 1rem
                        }
                        @import url('../css/clan_img.min.css');
                    }
                    .clanFamily {
                        padding: 0.5em 2em;
                        p {
                            text-align: center;
                        }
                        div[data-clan-id] {
                            width: fit-content;
                            box-sizing: border-box;
                            border-radius: 5px;
                            padding: 7.5px 30px;
                            margin: 0 auto;
                            span {
                                display: block;
                                text-align: center;
                            }
                        }
                        .idNumber {
                            font-size: 1rem;
                        }
                        .current {
                            color: #ffffff;
                            background-color: rgba(255, 255, 255, 0.125);
                        }
                    }
                }
            }
        }
    }
}

@media(prefers-color-scheme:dark) {
    html {
        @include darkbg()
    }
     :root {
        @include darkbg()
    }
    #head {
        #searchbar {
            background: rgba(0, 0, 0, 0.376);
            #inner_s_bar {
                input#searchstr {
                    color: #fff;
                    background-color: rgba(255, 255, 255, 0.125);
                    transition: 0.2s ease-in;
                    &:hover {
                        background-color: rgba(255, 255, 255, 0.251);
                    }
                    &:focus {
                        background-color: rgba(0, 0, 0, 0.251);
                    }
                }
                .searchIcon {
                    color: rgba(255, 255, 255, 0.502);
                    // transition: 0.15s ease-in;
                    &:hover {
                        color: rgba(255, 255, 255, 1);
                    }
                }
                .resetBtn {
                    color: rgba(255, 255, 255, 0.502);
                    // transition: 0.15s ease-in;
                    &:hover {
                        color: rgba(255, 255, 255, 1);
                    }
                }
            }
        }
        #announcement_zone {
            background: rgba(0, 0, 0, 0.627);
            color: #fff;
            .wrap {
                #part2 {
                    // #acknowledgement {}
                    #links {
                        a {
                            color: gold;
                        }
                    }
                }
            }
        }
    }
    #content {
        background: rgba(25, 25, 25, 0.90);
    }
}

@media screen and (min-width:1000px) {
    #content {
        table {
            width: 960px;
        }
    }
}

@media screen and (max-width:960px) {
    #content {
        table {
            width: 640px;
        }
    }
    #detail {
        .wrap {
            .inner {
                .window {
                    width: 100%;
                    margin: 0;
                }
            }
        }
    }
}

@media screen and (max-width:640px) {
    #content {
        table {
            width: 100%;
            thead,
            tbody {
                tr {
                    th,
                    td {
                        padding: 0 0.75em;
                        &:first-child {
                            width: 2em;
                            text-align: center;
                        }
                        &:nth-child(2) {
                            width: 15em;
                        }
                    }
                }
            }
            thead tr th:last-child,
            tbody tr td:last-child {
                display: none;
            }
        }
    }
    #detail {
        .wrap {
            .inner {
                .window {
                    .content {
                        h3~p {
                            text-align: left;
                        }
                    }
                }
            }
        }
    }
}